Fehlerklassen Compile-Time-Errors z.B: Klammer vergessen, Variable falsch zugewiesen (Syntaxfehler) Runtime-Errors (Laufzeitfehler) z.B: Endlosschleife Instruktionscode der CPU: ------------------------- - Adressen im Arbeitsspeicher - Jede Variable hat eine Speicheradresse Arbeitsspeicher: print_amm int_ _double_ _____ ###################################### ^ ^ ^ ^ 0 10 20 30 Register (Speicherplätze der CPU): AX BC CX DX load 10 AX load 20 BX ADD AX,BX,CX STOR CX 30 JMP AX,99 Interpreter (z.B. BASIC): Interpreterprogramm liest Programmcode durch und führt die angewiesenen Datenmanipulationen aus Compiler (z.B. C): Übersetzt Programmcode in Maschinencode Programm muss für jeweilige Zielplattform übersetzt werden (Win32, Win64, BSD, Linux, auf ARM, auf x86) Bytecode-Code / VM: Java-Compiler (aus Java Development Kit): erzeugt Byte-Code / Instruktionscode / Maschinencode für Java-VM Java-VM "interpretiert" den Byte-Code JIT-Compiler (Just-In-Time = "gerade rechtzeitig") Überladene Funktionen: ---------------------- Eine Funktion kann mit dem selben Namen mehrmals definiert sein, solange sich die Artgumente / Aufrufparameter unterscheiden. Java führt dann beim Aufruf die Funktion aus, die zu den übergebenen Parametern passt. Man sagt, die Funktion wird "überladen".